

/*
 * 
 * 通用ajax后台调用函数 param url:ajax 调用的后台响应url param param:ajax 调用后台传递参数(post method)
 * param callbackTarget 调用成功后回调函数目标对象 param callbackFunc 调用成功后执行的回调函数，回调函数接受两个参数
 * 回调函数参数: param callbackTarget: 回调目标对象 param r : json格式数据对象(ajax调用返回的远程数据))
 */
app.addService('sidebar-serv', function() {

			'use strict';

			var msgServ = 0, private_method = 0;

			// 默认参数
			var default_setting = {
				url : null,
				param : null,
				dataType : 'json',
				type : 'post',
				contentType : "json",
				callback : null,
				callbackParam : null,
				successMsg : null,
				error : null,
				backData : null
			};

			private_method = {}
			return {
				/**
				 * 
				 * 
				 */
				init : function() {
					msgServ = app.getService('msg-serv');
				},

				/**
				 * 
				 * 
				 * 
				 */
				destory : function() {
					msgServ = null;
				},

				/**
				 * 后台ajax调用，返回调用结果数据
				 * 
				 * @param _options
				 *            ajax调用所需url,data,content等封装信息
				 * @param _options.callback
				 *            模块内部回调函数，用于针对不同业务需求进行返回数据的处理
				 * @return 调用成功后，将调用结果数据作为参数执行业务回调函数(_options.callback)
				 * 
				 */
				runAjax : function(_options) {
					private_method.runAjax(_options, function(data, ressionStr,
									statusObj) {
								if ($.isFunction(_options.callback)) {
									if (_options.method != 'del')
										_options.callback(data, ressionStr,
												statusObj);
								} else {
									private_method.getMsgSrv
											.Msgslide('页面异常（数据已保存），请联系系统管理员,');
								}
								if (_options.successMsg) {
									private_method.getMsgSrv
											.Msgslide(_options.successMsg);
								}
							}

					);
				},

				/**
				 * 后台ajax调用，返回调用结果数据
				 * 
				 * @param _options
				 *            ajax调用所需url,data,content等封装信息
				 * @param callbackFunc
				 *            模块内部回调函数，用于针对不同业务需求进行返回数据的处理
				 * @return 调用成功后，将调用结果数据封装到调用参数中(_options)，然后执行业务回调函数(_options.callback(_options))
				 */
				runAjaxE : function(_options) {
					private_method.runAjax(_options, function(r) {
								if ($.isFunction(_options.callback)) {
									if (_options.method != 'del')
										_options.data = r;
									_options.callback(_options);
								} else {
									private_method.getMsgSrv
											.Msgslide('页面异常（数据已保存），请联系系统管理员,');
								}
								if (_options.successMsg) {
									private_method.getMsgSrv
											.Msgslide(_options.successMsg);
								}
							}

					);
				}
			};
		});
